package de.fhl.view;

/**
 * Ueberschrift:  OnlineWahl
 * Copyright:     Copyright (c) 2010 
 * Organisation:  FH Luebeck - Virtuelle FH
 */

import de.fhl.model.ModelKonsole;
import de.fhl.model.SocketClient;

/**
 * Die Klasse LoginKonsole bietet dem Nutzer die Möglichkeit sich über die Konsole zu verifizieren<br>
 * 
 * @author Achim Krumrein (krumreia@stud.fh-luebeck.de)
 * @author Thomas Weber (webertho@googlemail.de)
 * @version 1.0
 */
public class LoginKonsole {

	public LoginKonsole() {
		// Konstruktor
	}
	
	public String[] Ausgabe(){
		
		String[] Rueckgabe = { null, null} ;		
		String[] RueckgabeVergleich = { null, null, null };
		String Wahlkreis = null;
		String Name = null;
		String AusweisNr = null;
		String LoginID = null;
		String Status = null;
		
		ModelKonsole Konsole = new ModelKonsole();
		SocketClient client = new SocketClient();

		System.out.println("------ OnlineWahl Login ------\n");
		
		boolean bools = true;
		
		do {
			
			
			System.out.print("Bitte geben Sie Ihren Namen ein: ");
			Name = Konsole.einlesen(); // Eingabeaufforderung
	
			System.out.print("Bitte geben Sie Ihre Ausweisnummer ein: ");
			AusweisNr = Konsole.einlesen(); // Eingabeaufforderung
	
			System.out.print("Bitte geben Sie Ihre Login ID ein: ");
			LoginID = Konsole.einlesen(); // Eingabeaufforderung
			
			RueckgabeVergleich = client.vergleicheUser(Name, AusweisNr, LoginID);
			
			Status = RueckgabeVergleich[1];
			Wahlkreis = RueckgabeVergleich[2];

			if (RueckgabeVergleich[0] == Name && (Status == "Berechtigt" || Status == "WahlOffen")) {
				System.out.println("Login und Wahlberechtigung verifiziert.");
				bools = false;
				Rueckgabe[0] = Name;
				Rueckgabe[1] = Wahlkreis;
				return Rueckgabe;
			}
			else {
				System.out.println("Sie haben keine Berechtigung oder Sie haben sich vertippt. Möchten Sie es erneut versuchen? (j/n)");
				if (Konsole.vergleichAufJa(Konsole.einlesen())){
					// Schleife nochmal
				}
				else {
					bools = false;
				}
			}
				
		}
		while (bools);
		Rueckgabe[0] = Name;
		Rueckgabe[1] = Wahlkreis;
		return Rueckgabe;
	}
	
}
